<?php

class Instituciones_Model_DbTable_Instituciones extends Zend_Db_Table_Abstract {
	
	protected $_name = 'instituciones';
	protected $_primary = 'codinstitucion';
	//protected $_rowClass = 'App_Audit_Row';

	/**
	 * Devuelve un arreglo con el listado de instituciones
	 * @return array
	 */
	public function getSelectInstitucionesFetchAll() {
		$array_columns = array('*','obtener_ubicacion(codubicacion,\'asc\',2,\', \') as ubicacion',
							   '(SELECT COUNT(*) AS cantidad FROM usuarioinstitucion_cna u WHERE u.codinstitucion=i.codinstitucion) AS cantidad');
		$select = $this->select()
						->from(array('i'=>'instituciones'),$array_columns)
						->where('ins_codigo<>?','')
						->order('i.nombrecompleto','DES');
		return $select->query()->fetchAll();
	}
	
	
	public function getAsociacionInstitucionUsuario($codusuario) {
	    $select =$this->getAdapter()->select()->from("usuarioinstitucion_cna")->where("codusuario=?",$codusuario);
		return $select->query()->fetch(Zend_Db::FETCH_ASSOC);
	}
	
	public function getInfoInstitucion($codinstitucion){
	    $array_columns = array('*',
	    					   '(SELECT nombreorigen FROM origeninstitucion WHERE codorigen=i.codorigen) as origen',
	    					   '(SELECT nombrecaracter FROM caracterinstitucion WHERE codcaracter=i.codcaracter) as caracter',
								"obtener_ubicacion(codubicacion,'asc',2,'-') as ubicacion");
		$select = $this->select()
						->from(array('i'=>'instituciones'),$array_columns)
						->where('codinstitucion=?',$codinstitucion);
		return $select->query()->fetch();
	}
	
	public function getRepresentante($codsnies) {
		return $this->getAdapter()->fetchRow ("SELECT nombre,apellido,folio,registro,fecha_desde,fecha_hasta,fecha_inscripcion
											  FROM directivos_ins d,cargos c WHERE d.codcargo=c.codcargo AND d.ins_codigo='{$codsnies}'
		                                      AND c.tipo_cargo='REP' AND d.estado='A'");
	}
	
	public function fetchAuto($dato) {
		$select = $this->select ()
		               ->from(array('i'=>'instituciones'),array ('codinstitucion', 'nombrecompleto','codubicacion','obtener_ubicacion(codubicacion,\'asc\',2,\', \') AS ubicacion'))
		               ->where("nombrecompleto iLIKE '%{$dato}%'")
		               ->order ('nombrecompleto','ASC' );
		return $select->query()->fetchAll();
	}
}//fin de la clase

